package com.hksj.Intelligentmanagement.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hksj.Intelligentmanagement.dto.ShiftsDTO;
import com.hksj.Intelligentmanagement.entity.ShiftsEntity;
import com.hksj.Intelligentmanagement.vo.ClassesVo;
import com.hksj.Intelligentmanagement.vo.ShiftsDetailVo;
import com.hksj.Intelligentmanagement.vo.ShiftsSimpleVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author zengke
 * @ClassName ShiftsMapper
 * @Date 2023/3/31 15:28
 * @Version 1.0
 */
@Mapper
public interface ShiftsMapper extends BaseMapper<ShiftsEntity> {

    //查询所有班次记录
    List<ClassesVo> queryAllClasses();

    //分页查询每个护士对应的排班明细
    List<ShiftsDetailVo> queryShiftsDetail(@Param("shiftsDTO") ShiftsDTO shiftsDTO);


    //生成连续的时间段
    List<String> queryDuration(@Param("shiftsDTO") ShiftsDTO shiftsDTO);

    //运用上周排班
    int useLastWeekShifts(@Param("shiftsDTO") ShiftsDTO shiftsDTO);

    //排班前移或后移
    int moveShifts(@Param("shiftsDTO") ShiftsDTO shiftsDTO);

    void deleteByScheduleTime(@Param("scheduleTime") String scheduleTime);

    ShiftsSimpleVo getShifts(@Param("scheduleTime") String scheduleTime);
}
